package com.qrxl.enums;


import org.apache.commons.lang3.StringUtils;

/**
 * oss 上传文件枚举类
 * 业务名称，请参考业务表名称也定义
 * 严格按照业务来区分，不要交叉使用其他业务的枚举
 *
 * @author zhoukun
 */
public enum EnumUploadItem {

    TEMP("temp", "*", 10, "临时文件上传"),

    REGISTER_VOUCHER("registerVoucher", "*", 5, "注册证明材料"),
    PROJECT_APPROVAL("project_approval", "*", 5, "立项批文列表"),
    PROJECT_IMG("project_img", "*", 5, "工程图片"),
    ;

    /**
     * @param baseDir  上传目录
     * @param fileType 文件类型
     * @param maxSize  最大文件（单位M）
     * @param desc     描述
     */
    EnumUploadItem(String baseDir, String fileType, float maxSize, String desc) {
        this.baseDir = baseDir;
        this.fileType = fileType;
        this.maxSize = maxSize * 1024 * 1024;
        this.desc = desc;
    }

    /**
     * 上传具体业务目录,只允许为英文数字，不允许重复
     * 业务名称，请参考业务表名称也定义
     */
    String baseDir;
    /**
     * 文件类型，比如jpg，png，txt，apk等等
     */
    String fileType;
    /**
     * 文件大小上限(M:兆字节)
     */
    float maxSize;
    /**
     * 功能描述说明
     */
    String desc;

    public String getBaseDir() {
        return baseDir;
    }

    public void setBaseDir(String baseDir) {
        this.baseDir = baseDir;
    }

    public String getFileType() {
        return fileType;
    }

    public void setFileType(String fileType) {
        this.fileType = fileType;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    public float getMaxSize() {
        return maxSize;
    }

    public void setMaxSize(float maxSize) {
        this.maxSize = maxSize;
    }

    public static EnumUploadItem getType(String baseDir) {
        if (StringUtils.isEmpty(baseDir)) {
            return null;
        }
        for (EnumUploadItem type : EnumUploadItem.values()) {
            if (type.getBaseDir().equals(baseDir)) {
                return type;
            }
        }
        return null;
    }
}
